namespace MidnightPeach.Engine.Schema
{
    public enum LoopType
    {
        /// <summary>
        /// Not Available
        /// </summary>
        NA,

        /// <summary>
        /// Table
        /// </summary>
        TB,

        /// <summary>
        /// View
        /// </summary>
        VW,

        /// <summary>
        /// All
        /// </summary>
        AL,

        /// <summary>
        /// Primary Key
        /// </summary>
        PK,

        /// <summary>
        /// Non Primary Key
        /// </summary>
        NP,

        /// <summary>
        /// Foreign Key
        /// </summary>
        FK,

        /// <summary>
        /// Index
        /// </summary>
        IX,

        /// <summary>
        /// Unique Index
        /// </summary>
        UX,

        /// <summary>
        /// Increament
        /// </summary>
        IN,

        /// <summary>
        /// Non Increament
        /// </summary>
        NI,
        
        /// <summary>
        /// Read Only
        /// </summary>
        RO,
        
        /// <summary>
        /// Not Readonly
        /// </summary>
        NR,

        /// <summary>
        /// Null
        /// </summary>
        NU,

        /// <summary>
        /// Not Null
        /// </summary>
        NN,
        
        /// <summary>
        /// Not Timestamp
        /// </summary>
        NT,
        
        /// <summary>
        /// not Timestamp nor Identity
        /// </summary>
        TI,
        
        /// <summary>
        /// not Timestamp nor PK
        /// </summary>
        TP,

        /// <summary>
        /// ForCache
        /// </summary>
        FC,

        /// <summary>
        /// ForService
        /// </summary>
        FS,
        
        /// <summary>
        /// ForAsync
        /// </summary>
        FA,
        
        /// <summary>
        /// ByFK
        /// </summary>
        BF,
        
        /// <summary>
        /// NoAuthorization
        /// </summary>
        AU,
        
        /// <summary>
        /// Not In Base Biz
        /// </summary>
        NB,
        
        /// <summary>
        /// Custom Biz
        /// </summary>
        CB,
        
        /// <summary>
        /// Not Custom Biz (neither Not In Base Biz)
        /// </summary>
        NC,
        
        /// <summary>
        /// public virtual method
        /// </summary>
        VM,
        
        /// <summary>
        /// DbContext
        /// </summary>
        DC
    }

    public enum TableType
    {
        Table,
        View
    }
}